package com.wyh.service;


import com.wyh.common.response.PageInfo;
import com.wyh.common.result.R;
import com.wyh.entity.MsgMessage;
import com.wyh.request.MsgMessageRequest;

import java.net.ServerSocket;
import java.util.List;

/**
 * 【请填写功能名称】接口
 *
 * @author WangYuHang
 * @date 2024-03-08
 */
public interface IMsgMessageService {


    /**
     * 发送消息
     * @param msgMessageRequest
     * @return
     */
    R<String> sendMessage(MsgMessageRequest msgMessageRequest);


    /**
     * 判断发送的消息是否超过三条
     * @param fromId
     * @param toId
     * @return
     */
    Boolean isOutThree(String fromId,String toId);

    /**
     * 新增
     *
     * @param param param
     * @return MsgMessage
     */
    MsgMessage add(MsgMessageRequest param);

    /**
     * 删除
     *
     * @param id id
     * @return boolean
     */
    boolean delete(Integer id);

    /**
     * 批量删除
     *
     * @param ids ids
     * @return boolean
     */
    boolean deleteBatch(List<Integer> ids);

    /**
     * 更新
     *
     * @param param param
     * @return boolean
     */
    boolean update(MsgMessageRequest param);

    /**
     * 查询单条数据，Specification模式
     *
     * @param id id
     * @return MsgMessage
     */
    MsgMessage getById(Integer id);

    /**
     * 查询分页数据
     *
     * @param param param
     * @return PageInfo<MsgMessage>
     */
    PageInfo<MsgMessage> pageList(MsgMessageRequest param);


    /**
     * 查询所有数据
     *
     * @return List<MsgMessage>
     */
    List<MsgMessage> list(MsgMessageRequest param);
}
